Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2023-TPAMI-[PULDA]Positive-Unlabeled Learning With Label Distribution Alignment

https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10264106&tag=1

Introduction

先行のCost SensitiveのPU LearningはNegative AssumptionというPをNに多く判定してしまうバイアスを持っている。以下のように、Train Dataにおいて、Uの中でPと判別したデータの割合がClass Priorのπ\piより小さくなるとわかる。ついでに、Test Dataについても過学習している。

Image in a image block

解決法としては、訓練して得られたUの中のPの分布と、真のPの分布をAlignmentすることである(真のPの分布をどう得るのかはさておくとして)。だが、安易に導入すると、今度はUnderfittingとなってしまう。この研究はこれらの問題を克服した、PULDA(Positive Unlabeled Learning with Label Distribution Alignment)を導入した。

そのうえで、Objectiveに正則化項を加えてAlignmentすることは、確率的勾配降下法系で最適化すると収束しない問題がある。これについて、指数移動平均をベースにしたものを提案した。これは数学的に収束すると証明されている。

本論文の貢献は以下の通り。

  • PULDAという新たな手法を開発した。
  • 理論的証明や上界を提供した。
  • PUにおける指数移動平均ベースの確率的勾配降下法を提案した。

Related Work

この論文は 📄Arrow icon of a page link2022-CVPR-[Dist-PU] Positive-Unlabeled Learning from a Label Distribution Perspective の延長にある。

Class Priorがわかっている前提での手法として、以下のようなものがある。

Class Priorが必要だが、選択バイアスがある場合の手法はいかのようなもの、

Class Priorの推定は以下の通り(全部はのせてない)

Class Priorがそもそもいらない手法

  • M. Hou, B. Chaib-Draa, C. Li, and Q. Zhao, “Generative adversarial positive-unlabeled learning,” in Proc. Int. Joint Conf. Artif. Intell., 2018, pp. 2255–2261.
  • 🚫 Arrow icon of a page linkPost not found

Method

問題設定

  • データはxXRd\mathbf{x} \in X \subseteq \mathbb{R}^dである。
  • Ground TruthのラベルはY={0,1}Y = \{ 0, 1 \}であり、1がPで0がN。
  • シナリオはCase Control(2 Sets)。UデータはXUp(x)X_U \sim p(\mathbf{x})でサンプリングされる。

提案手法

PN Learningにおいて、誤分類の確率は以下のように分類できる。

Image in a image block

これを代替損失を使って識別器自体を訓練するとき、このように絶対値で予測分布と真のラベル分布のAlignmentはおのずとできる。

PU Learningにおいて、同様に展開する。UはClass PriorπP\pi_Pの割合のPと1πP1 - \pi_Pの割合のNによって構成されているという前提。PN Learningのように考えると、Uの中のPの割合はπP\pi_Pより多くてもすくなくても望ましくない。(RPR_Pは上の式を代入)

Image in a image block

もう1つの考えとしては、以上のものとはまた少し違う。

先ほどの式を導いたπNRN=EU[l(g(x),y)]πP+πPRP\pi_N R_N = \mathbb{E}_U[l(g(\mathbf{x}), y)] - \pi_P + \pi_P R_Pについても、この値は負になってはいけないということから、以下のようなものである。

Image in a image block

これはより厳しい整合条件だといえる。

マージンベースの学習

📄Arrow icon of a page link2022-CVPR-[Dist-PU] Positive-Unlabeled Learning from a Label Distribution Perspective では、普通に先ほどのAlignmentを行うだけなら、Uの予測結果はπP\pi_Pの近くに集まっていて、結果として予測できない、もっと0か1かにばらけてほしい(Rlab,RalignR_{lab}, R_{align}を使うといずれもそうなりそう)。それを防ぐため、新たなObjectiveを提案した。

Dist-PUではBinary Cross Entropyを導入していた。この論文では、ある信頼下限ρ\rhoを導入し、たとえ分類に成功してもρ\rho以下の信頼度だったら学習器にペナルティを与えるというもの。

Rρ(f)=EU[1[(2y1)f(x)ρ]]=πPEP[1[f(x)ρ]]+πNEN[1[ρf(x)]]R_\rho(f) = \mathbb{E}_U[\mathbf{1}[(2y - 1) \cdot f(\mathbf{x}) \leq \rho]] \\ = \pi_P \mathbb{E}_P[\mathbf{1}[f(\mathbf{x}) \leq \rho]] + \pi_N \mathbb{E}_N[\mathbf{1}[-\rho \leq f(\mathbf{x})]]

f(x)f(\mathbf{x})の正負で判断するということをもとにさらに式変換すると、

Image in a image block

「0より大きいか小さいか」の部分はPかN判断へのペナルティ。「ρ\rhoの範囲にに収まるかどうか」は信頼度のペナルティ。

あとは、これはPNの式なので、同様にPUの式に直す。EN[1[0f(x)]]\mathbb{E}_N[\mathbf{1}[0 \leq f(\mathbf{x})]]は判断へのペナルティで、既存のuPUやnnPUですでに書き換えができている。信頼下限のρ\rhoについては、以下のように買い換えられる。

Image in a image block

したがって、全体の式は以下のようになる。

Rρ(f)={2πPEP[l(f(x),+1)]+EU[l(f(x),1)]πP}+EP[1[0f(x)ρ]]+EU[1[ρf(x)0]]πPEP[1[ρf(x)0]]R_\rho(f) = \{ 2\pi_P \mathbb{E}_P[l(f(\mathbf{x}), +1)] + \mathbb{E}_U[l(f(\mathbf{x}), -1)] - \pi_P \} + \\ \mathbb{E}_P[\mathbf{1}[0 \leq f(\mathbf{x}) \leq \rho]] + \\ \mathbb{E}_U[\mathbf{1}[-\rho \leq f(\mathbf{x}) \leq 0]] - \pi_P \mathbb{E}_P[\mathbf{1}[-\rho \leq f(\mathbf{x}) \leq 0]]

具体的に、指示関数のままではできないので、以下のようにSigmoid関数で指示関数1[0f(x)ρ]\mathbf{1}[0 \leq f(\mathbf{x}) \leq \rho]らを書き換える。

1[0f(x)ρ]σ(x)σ(ρx)1[ρf(x)0]σ(ρ+x)ρ(x)\mathbf{1}[0 \leq f(\mathbf{x}) \leq \rho] \to \sigma(x) \sigma(\rho - x) \\ \mathbf{1}[-\rho \leq f(\mathbf{x}) \leq 0] \to \sigma(\rho + x) \rho(-x)
RUR_Uへの補正

一項目の{2πPEP[l(f(x),+1)]+EU[l(f(x),1)]πP}\{ 2\pi_P \mathbb{E}_P[l(f(\mathbf{x}), +1)] + \mathbb{E}_U[l(f(\mathbf{x}), -1)] - \pi_P \}については、後者はRUR_Uに相当する損失である(DistPUでも同様)。

だが、以下の条件を満たすような関数ggに代入して、過小か過大予測しないようにするらしい。

  • 連続で、負から0は単調減少、0から正は単調増加。
  • 有限の入力に対しては有限な出力をする。

具体例としては、以下のようなSoftPlus関数を組み合わせたものをggとしている。

softplus(x)=1αlog(1+exp(αx))g(x)=softplus(x)+softplus(x)\mathrm{softplus}(x) = \frac{1}{\alpha} \log (1 + \exp(\alpha x)) \\ g(x) = \mathrm{softplus}(x) + \mathrm{softplus}(-x)

これを、本来のRUR_Uのみならず、マージンについてのペナルティのU部分にも適用させる。

結果として、以下のような式を得て、これが今回のObjective。図らずしもRlabR_{lab}の改善版のような式になっていた。

DistPUではEntropy最小化で実現していたが、ここではマージン最小化+U項への補正で実現している。

Rρ(f)={2πPEP[l(f(x),+1)]+g(EU[l(f(x),1))]πP}+EP[1[0f(x)ρ]]+g(EU[1[ρf(x)0]]πPEP[1[ρf(x)0]])R_\rho(f) = \{ 2\pi_P \mathbb{E}_P[l(f(\mathbf{x}), +1)] + g(\mathbb{E}_U[l(f(\mathbf{x}), -1))] - \pi_P \} + \\ \mathbb{E}_P[\mathbf{1}[0 \leq f(\mathbf{x}) \leq \rho]] + \\ g(\mathbb{E}_U[\mathbf{1}[-\rho \leq f(\mathbf{x}) \leq 0]] - \pi_P \mathbb{E}_P[\mathbf{1}[-\rho \leq f(\mathbf{x}) \leq 0]])

確率的勾配降下法への改良

このままの確率的勾配降下法による最適化するとき、ggという関数を本来のUについての項を噛ませているが、以下のように実は期待値では成り立たないという悲劇がある。

Image in a image block

これを改善するために、指数移動平均を用いる。

g()g(\cdot)にあたえる要素はri(w)r_i(\mathbf{w})ではなく、今までのri(w)r_i(\mathbf{w})の移動平均とする。

移動平均自体は以下のように計算する。

ui,t+1=(1βt)ui,t+βtri(wt)u_{i, t+1} = (1 - \beta_t) u_{i, t} + \beta_t \cdot r_i(\mathbf{w}_t)